﻿''' <summary>
''' Interface used by classes that handle criteria display on forms
''' </summary>
''' <remarks></remarks>
Public Interface ICriterionUIHandler

    ''' <summary>
    ''' handles and customizes rendering of a criterion UI control
    ''' </summary>
    ''' <param name="c">The UI control rendered on the window, that supplies the criterion</param>
    ''' <param name="crit">The criterion object</param>
    ''' <remarks></remarks>
    Sub renderControlHandler(ByVal c As Control, ByVal crit As CriterionMetadata)

    ''' <summary>
    ''' Handles return value from the control, to be applied to the criteria of the report
    ''' </summary>
    ''' <param name="value">an Object reference, after rhe system has determined it from the 
    ''' control on the form. To be changed or left same</param>
    ''' <param name="c">The UI control that supplies the criterion</param>
    ''' <param name="crit">The criterion object</param>
    ''' <remarks></remarks>
    Sub controlValueHandler(ByRef value As Object, ByVal c As Control, _
                            ByVal crit As CriterionMetadata)

    ''' <summary>
    ''' This function is used to customize the value as displayed for the criteria string
    ''' </summary>
    ''' <param name="value"></param>
    ''' <param name="c"></param>
    ''' <param name="crit"></param>
    ''' <remarks></remarks>
    Sub controlDisplayValueHandler(ByRef value As String, ByVal c As Control, _
                                    ByVal crit As CriterionMetadata)

End Interface

